﻿#ifndef SR_DECODE_H_
#define  SR_DECODE_H_
#include "ffmpeg.h"

class SrDecode
{
public:
	SrDecode();
	virtual ~SrDecode();


	virtual bool Open(AVCodecParameters * codecpar);

	// 发送到解码线程, 不管成功与否都释放pkt空间(对象和媒体内容)
	virtual bool Send(AVPacket *pkt);

	// 获取解码数据, 一次send可能需要多次Recv
	// 每次复制一份, 由调用者释放 av_frame_free()
	virtual AVFrame* Recv();

private:
	AVCodecContext * _codec;

};

#endif